﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Cuckoo.TaskSchedule
{
    /// <summary>
    /// 特定时间类计时器接口
    /// </summary>
	public interface IFixedTimer : ITimerTask
	{
        /// <summary>
        /// 预定运行时间，年份
        /// </summary>
        int nRunYear { get; set; }

        /// <summary>
        /// 预定运行时间，月份
        /// </summary>
        int nRunMonth { get; set; }

        /// <summary>
        /// 预定运行时间，天
        /// </summary>
        int nRunDate { get; set; }

		/// <summary>
		/// 预定运行时间，和nRunDay共用，表示第nRunDay个星期nRunDay
		/// </summary>
		int nRunNum { get; set; }

		/// <summary>
		/// 预定运行时间，表示星期nRunDay
		/// </summary>
		int nRunDay { get; set; }

        /// <summary>
        /// 预定运行时间，小时
        /// </summary>
        int nRunHour { get; set; }

        /// <summary>
        /// 预定运行时间，分钟
        /// </summary>
        int nRunMinute { get; set; }

        /// <summary>
        /// 预定运行时间，秒
        /// </summary>
        int nRunSecond { get; set; }

		/// <summary>
		/// 间隔时间
		/// </summary>
		long Interval { get; set; }

		/// <summary>
		/// 执行次数
		/// </summary>
		int nMaxCount { get; set; }

		/// <summary>
		/// 时间表达式类型
		/// </summary>
		FixedType FixedType { get; set; }
	}
}
